package com.dnjn.happiness.biz.domain.vo;

import com.dnjn.happiness.biz.domain.OutletReply;
import com.dnjn.happiness.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 解忧馆对象 biz_outlet
 *
 * @author happiness
 * @date 2024-03-13
 */
@Accessors(chain = true)
@ToString
@Getter
@Setter
public class OutletExportBean implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long outletId;

    /**
     * sys_user.user_id
     */
    private Long userId;

    @Excel(name = "部门", width = 30, needMerge = true)
    private String deptName;


    @Excel(name = "所属团队", width = 20, needMerge = true)
    private String teamName;

    @Excel(name = "姓名", width = 20, needMerge = true)
    private String nickName;


    /**
     * 是否回复：Y | N
     */
    @Schema(description = "是否回复：Y | N")
    private String isReply;

    @Schema(description = "是否可以催")
    private Boolean isUrge;

    /**
     * 催的次数
     */
    private Integer outletCount;

    /**
     * 内容
     */
    @Schema(description = "内容")
    @Excel(name = "发布内容", width = 50, needMerge = true)
    private String context;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss", needMerge = true)
    private LocalDateTime createTime;


    /**
     * 排序 催时更新
     */
    private LocalDateTime outletTime;

    private String weekOfYear;

    private Integer week;

    private Integer year;

    /**
     * 忧虑状态
     */
    @Schema(description = "忧虑状态 :S A B C D")
    @Excel(name = "忧虑值", width = 20, needMerge = true)
    private String outletStatus;

    /**
     * 最新的回复级别
     */
    @Schema(description = "最新的回复级别")
    @Excel(name = "危机等级", width = 20, needMerge = true)
    private String grade;


    /**
     * 附件JSON
     */
    @Schema(description = "附件JSON")
    private String attachmentJson;

    /**
     * 是否删除|0-否 1-是
     */
    private String deleted;

    private String avatar;

    private String sex;

    private List<OutletReply> outletReplyList;


    @Excel(name = "回复记录")
    private List<OutletReplyVO> replyList;


}
